package hsb.ruoyi.system.service;

import hsb.ruoyi.common.core.domain.AjaxResult;
import hsb.ruoyi.common.core.domain.entity.AppUser;

import java.util.List;


/**
 * app用户Service接口
 *
 * @author ruoyi
 * @date 2022-08-22
 */
public interface IAppUserService {
    /**
     * 查询app用户
     *
     * @param id app用户主键
     * @return app用户
     */
    AppUser selectAppUserById(Long id);

    AppUser selectByPhone(String phone);


    /**
     * 查询app用户列表
     *
     * @param appUser app用户
     * @return app用户集合
     */
    List<AppUser> selectAppUserList(AppUser appUser);

    /**
     * 新增app用户
     *
     * @param appUser app用户
     * @return 结果
     */
    int insertAppUser(AppUser appUser);

    /**
     * 修改app用户
     *
     * @param appUser app用户
     * @return 结果
     */
    int updateAppUser(AppUser appUser);

    int disable(AppUser appUser);

    /**
     * 批量删除app用户
     *
     * @param ids 需要删除的app用户主键集合
     * @return 结果
     */
    int deleteAppUserByIds(Long[] ids);

    /**
     * 删除app用户信息
     *
     * @param id app用户主键
     * @return 结果
     */
    int deleteAppUserById(Long id);


    String login(String username, String password, String code, String uuid);

    AjaxResult wxLogin(String phoneCode, String nickname, String code, String avator);

    /**
     * 测试接口，用于没有微信环境时，使用openid直接登陆
     */
    AjaxResult weixinLoginTest(String openid);

    AjaxResult wxPhone(Long userId, String phoneCode);

    AjaxResult pwdLogin(String phone, String password);


    AjaxResult updateUserPassword(Long userId, String oldPwd, String newPwd);


}
